home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / More Source / C⁄C++ / Arashi 1.1 / VASample / demomain.c next >
C/C++ Source or Header  |  1992-09-09  |  1KB  |  70 lines

  1. /*/
  2.      Project Arashi/STORM: demomain.c
  3.      Major release: 9/9/92
  4.  
  5.      Last modification: Wednesday, September 9, 1992, 21:30
  6.      Created: Saturday, September 29, 1990, 15:45
  7.  
  8.      Copyright © 1990-1992, Juri Munkki
  9. /*/
  10. #include "VA.h"
  11. #define    N    20
  12.  
  13. void    main()
  14. {
  15.     EventRecord        Event;
  16.     int                i;
  17.     Point            vector[N];
  18.     Point            speed[N];
  19.  
  20.     DoInits();
  21.     randSeed=TickCount();
  22.     
  23.     VAInit(GetMainDevice());
  24.     VA.FrameSpeed=2;
  25.  
  26.     for(i=0;i<N;i++)
  27.     {    vector[i].h=((unsigned int)Random()) % VA.frame.right;
  28.         vector[i].v=((unsigned int)Random()) % VA.frame.bottom;
  29.         speed[i].h=1;
  30.         speed[i].v=1;
  31.     }    
  32.     
  33.     do
  34.     {    VA.color=255-128;
  35.         VA.segmscale=20;
  36.         VADrawNumber(TickCount(),200,VA.segmscale+VA.segmscale+5);
  37.     
  38.         VA.color=3;
  39.         for(i=0;i<N;i++)
  40.         {    vector[i].h+=speed[i].h;
  41.             if(vector[i].h<VA.frame.left || vector[i].h>=VA.frame.right)
  42.             {    vector[i].h-=speed[i].h;
  43.                 speed[i].h=-speed[i].h;
  44.                 VAExplosion(vector[i].h,vector[i].v,3,2);
  45.             }
  46.             vector[i].v+=speed[i].v;
  47.             if(vector[i].v<VA.frame.top || vector[i].v>=VA.frame.bottom)
  48.             {    vector[i].v-=speed[i].v;
  49.                 speed[i].v=-speed[i].v;
  50.                 VAExplosion(vector[i].h,vector[i].v,3,2);
  51.             }
  52.             if((Random() & 255)==0)
  53.             {    VAExplosion(vector[i].h,vector[i].v,2,3);
  54.                 speed[i].h+=speed[0].h;
  55.                 speed[i].v+=speed[0].v;
  56.             }
  57.             
  58.             VASafeSpot(vector[i].h,vector[i].v);
  59.         }
  60.         VA.color=0;
  61.         VAMoveTo(vector[N-1].h,vector[N-1].v);
  62.         for(i=0;i<N;i++)
  63.         {    VALineTo(vector[i].h,vector[i].v);
  64.         }
  65.  
  66.         VAStep();
  67.     } while(!Button());
  68.  
  69.     VAClose();
  70. }